1. Field of the Invention
The present invention relates to the testing of microprocessors. It more specifically relates to a method and device for digital data transmission between a monitoring circuit integrated in a microprocessor chip and an analysis tool.
2. Discussion of the Related Art
FIG. 1 schematically shows an integrated circuit 10 comprising a microprocessor (μP) 12, an internal memory (MEM) 14, and input/output terminals (I/O) 16. Microprocessor 12 is intended to execute a program or software stored in memory 14. Under control of the program, microprocessor 12 may process data provided by input/output terminals 16 or stored in memory 14 and read or write data through input/output terminals 16.
To check the proper operation of the microprocessor, a monitoring circuit 18 (TEST) is generally integrated on integrated circuit 10. Monitoring circuit 18 is capable of reading specific data provided by microprocessor 12 on execution of a program, and of possibly processing the read data. Test terminals 22 connect monitoring circuit 18 to an analysis tool 24. Analysis tool 24 may perform a processing of the received signals, for example, according to commands provided by a user, and ensure a detailed analysis of the operation of microprocessor 12. In particular, analysis tool 24 may determine the program instruction sequence really executed by microprocessor 12.
The number of test terminals 22 may be on the same order of magnitude as the number of input/output terminals 16, for example, from 200 to 400 terminals. Test terminals 22 as well as the connections of monitoring circuit 18 take up a significant silicon surface area, which causes an unwanted increase in the circuit cost. For this purpose, a first version of integrated circuit 10 comprising monitoring circuit 18 and test terminals 22 is produced in small quantities to adjust debug the program of microprocessor 12 or “user program”. After this debugging, a version of integrated circuit 10 without monitoring circuit 18 and without test terminals 22 is sold. This requires forming of two versions of the integrated circuit, which requires a significant amount of work and is relatively expensive. Further, the final chip is not necessarily identical to the tested chip.
To overcome the above-mentioned disadvantages, it is desired to form a monitoring circuit 18 which takes up a reduced surface area and only requires a reduced number of test terminals 22, which decreases the selfcost of the monitoring circuit. Monitoring circuit 18 can then be left on the finally sold integrated circuit 10.
It is thus desired to decrease the number of signals provided by monitoring circuit 18. For this purpose, certain logic operations are directly performed at the level of monitoring circuit 18 on the data measured at the level of microprocessor 12 to only transmit messages having an important information content.
Thus, standard IEEE-ISTO-5001 in preparation provides in its 1999 version, accessible, for example, on website www.ieee-isto.org/Nexus5001, a specific message exchange protocol between a monitoring circuit and an analysis tool for a monitoring circuit 18 requiring but a reduced number of test terminals 22.
Among the messages provided by monitoring circuit 18 according to standard IEEE-ISTO-5001, a message for example indicates that a jump has occurred in the program executed by microprocessor 12. Another message may indicate the fact that microprocessor 12 executes a read or write operation, for example, an operation of reading or writing of data from or into an area of memory 14. Based on the messages transmitted by monitoring circuit 18, analysis tool 24 reconstitutes the instruction sequence executed by microprocessor 12. The reconstituted instruction sequence can then be compared with an instruction sequence theoretically executed by microprocessor 12 to determine malfunctions of microprocessor 12.
Certain events, however, do not correspond to specific instructions of the program executed by microprocessor 12 or do not cause modifications in the execution of the program by microprocessor 12. Thus applies, for example, in the case of a mobile telephony application, to the automatic blanking of the screen of a portable phone controlled by a specific control signal which is not provided by microprocessor 12 of the portable phone. Such events are generally not detected by monitoring circuit 18 and thus do not cause the transmission of messages by monitoring circuit 18 to analysis tool 24. It may also be, for example, specific signals generated by the internal circuits of microprocessor 12.
It would be desirable for analysis tool 24 to be able to indicate to the user that such events have occurred. Indeed, such events may be helpful in the diagnosis of malfunctions of microprocessor 12.